﻿using HCMS.CommonDtos;
using HCMS.Dtos.OAuth2;
using HCMS.Entities.OAuth2;
using HCMS.Repositories.OAuth2;
using System.Threading.Tasks;

namespace HCMS.IServices.OAuth2
{
    /// <summary>
    /// OAuth 2.0 应用 应用服务 接口
    /// </summary>
    public interface IOAuth2AppAppService : ICommonAppService<OAuth2DbContext, OAuth2App>
    {
        /// <summary>
        /// 管理 列表
        /// </summary>
        /// <param name="searchArgs">搜索 参数</param>
        /// <param name="pager">分页 参数</param>
        /// <returns></returns>
        Task<ListPagerDto<object>> ManageList(SearchArgsDto searchArgs, PagerArgsDto pager);

        /// <summary>
        /// 获取应用 AccessToken
        /// </summary>
        /// <param name="appId">应用 Id</param>
        /// <param name="secret">应用 密钥</param>
        /// <returns></returns>
        Task<AppTokenDto> GetToken(int appId, string secret);
    }
}
